'''
列表推导式：功能就是根据一定的算法，来创建出一个列表
'''
import random

lis1 = []

# for i in range(10):
#     ran = random.randint(10,30)
#     lis1.append (ran)
# print (lis1)

# lis1 = [列表中的每一个元素  for i in 序列 ]
lis1 = [random.randint(0,10) for i in range(10) ]

print(lis1)

#现在要求根据lis1的每一个值，然后把每一个值平方，再生成一个列表

lis2 = [i*i for i in lis1 if i >4]
# for i in lis1:
#     if i>4:
#        a = i*i
#        lis2.append(a)
print (lis2)

# 100以内所有的偶数写入列表
lis3 =[i for i in range(1,101) if i%2 == 0]
print(lis3)

# 从python1期到python10期写入列表
# ['python1期','python2期',.....,'python10期']

lis4 = [f'python{i}期' for  i in range(1,11)]
print(lis4)

# 10以内大于4的数
lis5 = [ i for i in range(10) if i>4]
print(lis5)

# 要求 根据lis6 的内容，把长度超过4个字符的首字母大写

lis6 = ['dfja', 'djfalsja','title','confirm','get']

lis7 =[item.capitalize() for item in lis6 if  len(item)>4]
print (lis7)

#字典的推导
# 1、 {1：90，2：88}
dict1 = (f'python{i}期' for i in range(1,31))
print(dict1)
# generator 生成器
for i in dict1:
    print(i)

